package com.thx.information.dao;

import com.thx.common.orm.PaginationDao;
import com.thx.information.model.InfoVoteItem;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public class InfoVoteItemDao extends PaginationDao<InfoVoteItem> {

  private static final Logger logger = LoggerFactory.getLogger(InfoVoteItemDao.class);


  // @SuppressWarnings("unchecked")
  // public List<InfoVoteItem> queryAll(InfoVoteItem info, final int start, final int limit) {
  // String hql = getHql(info);
  // List<InfoVoteItem> list = createQuery(hql).setFirstResult(start).setMaxResults(limit).list();
  // if (list.size() > 0) {
  // return list;
  // } else {
  // return null;
  // }
  // }
  //
  // @SuppressWarnings("unchecked")
  // public int queryCount(InfoVoteItem info) {
  // String hql = "select count(*) " + getHql(info);
  // List list = createQuery(hql).list();
  // if (list.size() > 0) {
  // Long count = (Long) list.get(0);
  // return new Integer(count + "");
  // }
  // return 0;
  // }
  // /**
  // * 查询栏目列表sql语句 建立日期 : Apr 23, 2013 <br>
  // * 作者 : 王阿敏<br>
  // *
  // * @param info
  // * @return
  // */
  // public String getHql(InfoVoteItem info) {
  // String hql = "from InfoVoteItem c where 1=1";
  // if (info.getVoteItemId() != null) {
  // hql += "and c.voteItemId = " + info.getVoteItemId();
  // }
  //
  // if (info.getInfoId() != null) {
  // hql += " and c.infoId = " + info.getInfoId();
  // }
  //
  // // if(StringUtils.isNotBlank(info.getOptionName())){
  // // hql += " and c.optionName = "+info.getOptionName();
  // // }
  // return hql;
  // }
  //
  // /**
  // * 查询单个投票信息 建立日期 : May 11, 2013 <br>
  // * 作者 : 王阿敏<br>
  // *
  // * @param vote
  // * @return
  // */
  // public InfoVoteItem queryVote(InfoVoteItem vote) {
  // String hql = getHql(vote);
  // List<InfoVoteItem> list = createQuery(hql).list();
  // if (list != null && list.size() > 0) {
  // return list.get(0);
  // }
  // return null;
  // }


  /**
   * 根据信息id查询所有投票项列表.
   * 
   * @param infoId 信息id,不能为空
   * @return 投票项列表
   */
  public List<InfoVoteItem> findAllByInfoId(Long infoId) {
    String hql = "from InfoVoteItem where infoId=? ";
    return createQuery(hql, new Object[] {infoId}).list();
  }


  /**
   * 删除投票选项信息.
   * 
   * @param infoId 信息id,不能为空.
   */
  public void deleteByInfoId(Long infoId) {
    String hql = "delete from InfoVoteItem  where infoId=?";
    createQuery(hql, new Object[] {infoId}).executeUpdate();
  }
}
